1. Field of the Invention
The invention relates to an information processing apparatus, an information processing method, and a storage medium for converting print data from a predetermined application program into a data format which can be processed by a printer and outputting the converted data to the printer.
2. Related Background Art
A print control method and a flow of processes in a conventional print system will now be described with reference to FIG. 2.
Generally, a print system is constructed by connecting a host computer and a printer through parallel communicating means or network communicating means such as a Centronics interface as shown in FIG. 2.
On the host computer side, application software 201 (hereinafter, abbreviated to “application”) such as word processor or spreadsheet operates on what is called basic software like Windows (registered trademark of Microsoft Corporation of U.S.A.). In case of printing in such an application, the printing is performed by using a function of a graphic subsystem 202 among several subsystems which are provided from such a program by the basic software. For example, in Windows, the graphic subsystem is called GDI (Graphic Device Interface: 2021) and processes image information for a display or a printer. The GDI (2021) dynamically links a module called a device driver in order to absorb dependency of each device such as display or printer and performs an outputting process for each device. Such a module for the printer is called a printer driver 2022. In the printer driver 2022, it is necessary to prepare a function group called DDI (Device Driver Interface) which has been predetermined to be installed in a device driver in accordance with its ability, function, or the like. The GDI (2021) converts an API (Application Programming Interface) call of the application into data for the device driver. The DDI function group is properly called from the GDI (2021) and a predetermined printing process is executed. The GDI (2021) sequentially processes a printing request from the application via the printer driver as mentioned above.
A processing system of the printer driver can be mainly classified into two kinds of a PDL mode type (2023) and an image mode type (2024 to 2026).
The PDL mode type is provided in the case where a controller which processes code data comprising a character code, a figure command, a control command, and the like called PDL (Printer Description Language) and can generate image data is installed on the printer side. The printer driver converts data that is handed from the system through the DDI into a command of the PDL and immediately transmits it to the printer through a GDI (2028).
Since the process of the printer driver merely generates the command from the data received by the DDI, it is a light process for the driver. As a feature of the PDL mode type, if an ability of the printer to analyze the PDL command is high, the printer receives data of a high abstraction degree from the GDI and can transmit it as it is. Therefore, a size of data to be transmitted can be reduced in the normal page printing.
In the image mode type, a print image is developed on a memory space assured on the printer driver side lest an advanced drawing process is performed on the printer side, the developed print image is converted into a format which can be directly printed by the printer, and the converted image data is sent to the printer and printed.
In a manner similar to the PDL mode type, the printer driver for the image mode (2024 to 2026) uses the data handed from the GDI via the DDI interface and performs a drawing process into the band memory 2025 and transmits the bitmap data to the printer through the GDI (2028) when the drawing process of one band is finished.
In both cases, it is necessary to perform the drawing process on the band memory or on the memory space of a full page by the printer or host machine.
However, in a color printer, if it is intended to assure a memory of 600 dpi and an A4 full page by eight bits for each color of RGB, a memory capacity of 96 Mbytes is necessary and it is difficult to assure it by any of the host machine and the printer in the present situation. Therefore, a method whereby the band memory is used for the drawing process of the color printer has been proposed.
According to the data format which is finally handed to the printer engine, each of concentration values indicative of a toner color of the printer such as YMCK values instead of luminance values of RGB consists of one or two bits per color. Therefore, generally, the process is performed by one or two bits per color of YMCK in both the image mode and the PDL mode in order to reduce the memory capacity. In the image mode, by sending the 1-bit or 2-bit data per color of YMCK, a transmission data size is reduced, thereby decreasing a load on the printer side.
For example, with respect to a printing process of a polygonal figure, in the PDL type, point coordinates which are bent and a line width, color information of a line, inner painting color information, and the like are transmitted as commands to the printer, and in the printer, the data is analyzed and developed into image data of an output format by using the internal memory space of one band of one or two bits per color of YMCK. According to the PDL system, there is such a possibility that the print data is infinitely generated in one page, and the print data which is outputted by a recent application is increasing more and more. However, in case of printing by a banding process, since it is necessary to hold intermediate data just before the drawing of one page, it becomes a factor of reduction of a processing speed in a memory saving printer.
The image mode system exists to avoid such a problem.
The printer driver side which operates on the host machine having a sufficient memory construction as compared with that of the printer has a drawing memory of a band unit or a full page and develops a polygon into the drawing memory. When the drawing process of one band or full page is finished, the contents in the drawing memory are transmitted as image data to the printer, so that a predetermined image is printed and outputted.
As mentioned above, in both PDL mode and image mode, the drawing process is performed on the device dependent color space in a manner like one or two bits per color of YMCK in order to save the memory capacity. However, since a logical operation drawing process specified by the GDI is a process on a luminance space, an improper drawing sometimes occurs. To avoid it, the YMCK values are returned to the RGB values and a (inverse UCR (Under Color Remove) process) logical calculating process is performed. However, not only the perfect drawing process is not guaranteed but also it becomes a cause of reduction of the processing speed.
Therefore, the user ordinarily performs the drawing process in the PDL mode and if it takes time to output, the operating mode is switched to the high speed image mode (image mode of one bit per color of YMCK) and the data is outputted again. If an improper output result is obtained, the data is outputted again in an RGB 24 BPP image mode. In this manner, the user has to perform the operation two or more times.
That is, the user has to select the print mode in the present situation and the optimum mode cannot be known unless the data is printed in all of the modes. If pages of different types are included in a multipage printing mode, a problem such that it takes a long output time in one mode or an improper output page is mixed occurs.
The above features of the respective modes are summarized in FIG. 4.
To solve the problems, a system for automatically switching the mode so that only the favorite data of each system flows is demanded.
(1) In the print data format (PDL mode) having a high abstraction degree, there is a case where a transmission data size and a data size to be held in the printer increases and the processing speed of the printer decreases.
(2) In the print data format (PDL mode) having a high abstraction degree, if complicated figures are concentrated, a drawing speed is slower than a paper discharging speed of the printer, so that a banding process is impossible. Since the data enters a special path, there is a case where the processing speed decreases.
(3) In the processing system (normal PDL mode, high speed image mode) for performing the drawing process in the memory space of 1 or 2 bits per color of YMCK in order to save the memory capacity, there is a case where a logical operating process presuming a luminance space becomes improper.
(4) In the print data format (image mode processing) having a low abstraction degree, even in case of a page comprising only simple characters or figures, the image data that is proportional to a draw area is transmitted to the printer. Therefore, the maximum throughput of an engine cannot be derived.
(5) In the multipage printing mode, it is difficult to print to all pages in the optimum mode.